const fs = require('fs')
const mongoose = require('mongoose')

// const dbPath = './data/indexData.json'
// 连接数据库
mongoose.connect('mongodb://localhost:27017/commentCast', {useNewUrlParser: true})

let Schema = mongoose.Schema

let commentSchema = new Schema({
    id: {
        type: Number
    },
    time: {
        type: String,
        required: true
    },
    name: {
        type: String,
        required: true
    },
    message: {
        type: String
    }
})

module.exports = mongoose.model('comment', commentSchema)


// module.exports = {
//     /**
//      * 功能：获取文件数据，对象
//      */
//     find: function (callback) {
//         fs.readFile(dbPath, "utf8", function (err, data) {
//             if (err) {
//                 return callback(err)
//             }
//             callback(null, JSON.parse(data).list)
//         })
//     },

//     /**
//      * 功能： 根据id获取对象
//      */
//     findById: function (id, callback) {
//         fs.readFile(dbPath, 'utf8', function (err, data) {
//             if (err) {
//                 return callback(err)
//             }
//             let list = JSON.parse(data).list
//             let item =  list.find(function (item) {
//                 return item.id === parseInt(id)
//             })
//             callback(null, item)
//         })
//     },

//     /**
//      * 功能：添加一条格言
//      * 步骤：1、获取到调用传过来的数据对象
//      *      2、先读取数据文件，转化为对象形式
//      *      3、将穿过来的数据对象插入到数据文件对象中，并重新写入
//      */
//     add: function (dataObj, callback) {
//         fs.readFile(dbPath, 'utf8', function (err, data) {
//             if (err) {
//                 return callback(err)
//             }
//             let newData = JSON.parse(data).list
//             dataObj.id = newData[newData.length - 1].id + 1
//             newData.push(dataObj)
//             let newDatas = JSON.stringify({
//                 list: newData
//             })
//             console.log(newDatas, typeof(newDatas))
//             fs.writeFile(dbPath, newDatas, function (err, _data) {
//                 if (err) {
//                     return callback(err)
//                 }
//             })
//             callback(null)
//         })
//     },

//     /**
//      * 功能：编辑功能
//      * 步骤：1、点击编辑后获取传过来的数据对象
//      *      2、读取文件，然后转化为对象格式
//      *      3、用页面端传过来的id与文件数据对象的id做比对，用到es6的find语法
//      *      4、将每一项覆盖原数据
//      *      5、转化格式后，重新写入文件中
//      */
//     edit: function (dataObj, callback) {
//         fs.readFile(dbPath, 'utf8', function (err, data) {
//             if (err) {
//                 return callback(err)
//             }
//             let list = JSON.parse(data).list
//             let item = list.find(function (item) {
//                 return item.id === parseInt(dataObj.id)
//             })
            
//             // 循环覆盖
//             for (const key in item) {
//                 if (item.hasOwnProperty(key)) {
//                     item[key] = dataObj[key]
//                 }
//             }

//             let newDatas = JSON.stringify({
//                 "list": list
//             })

//             fs.writeFile(dbPath, newDatas, function (err, _data) {
//                 if (err) {
//                     return callback(err)
//                 }
//             })

//             callback(null)
//         })
//     },


//     /** 
//      * 功能，删除功能
//      * 步骤：1、获得传过来的id和回调函数
//      *      2、读取文件，然后转化为对象格式
//      *      3、根据传过来的id,找到相对应的那条数据,利用es6的find方法
//      *      4、删除数据
//      *      5、重新写入文件
//     */

//     delete: function (id, callback) {
//         fs.readFile(dbPath, 'utf8', function (err, data) {
//             if (err) {
//                 return callback(err)
//             }
//             let list = JSON.parse(data).list
//             // console.log(list)
//             let delId = list.findIndex(function (item) {
//                 return item.id == parseInt(id)
//             })
//             list.splice(delId, 1)
            
//             let newDatas = JSON.stringify({
//                 "list": list
//             })

//             fs.writeFile(dbPath, newDatas, function (err, _data) {
//                 if (err) {
//                     return callback(err)
//                 }
//             })

//             return callback(null)
//         })
//     }

// }